package com.foreknow.demo10;

import java.sql.*;

public class PreparedStatementDemo {
    public static void main(String[] args) {

        try {
            //1. 加载驱动程序
            Class.forName("com.mysql.jdbc.Driver");
            //2. 获取连接(Connection) 注意：别忘了改数据库名和密码，否则无法连接
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/basic14","root","123456");
            //3. 获取到PreparedStatemen接口
            //注意：将SQL语句发送给mysql,而数据库并不知道?表示什么 ，所以需要调用文档中的set方法将？替换一个具体的值
            PreparedStatement pstmt = conn.prepareStatement("select * from admin where name = ? and pass = ?");
            //将？替换具体的值   这里的1、2表示第几个？
            pstmt.setString(1,"fender");
            pstmt.setString(2,"123456");
            //执行查询
            ResultSet rs = pstmt.executeQuery();
            //遍历输出
            while (rs.next()) {
                //获取到当前行的每一列数据
                int id = rs.getInt("ID");
                String name = rs.getString("NAME");
                String pass = rs.getString("PASS");
                System.out.println(id+"--"+name+"--"+pass);
            }
            //关闭资源
            rs.close();
            pstmt.close();
            conn.close();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }

    }
}
